22311
15509
Tähän kysymykseen on jo annettu vastauksia täällä:
Kuinka palautan vastauksen asynkronisesta puhelusta?
(42 vastausta)
Suljettu 5 kuukautta sitten.
Joten kun suoritetaan seuraava koodi, konsolin.log (ba) vastaus on määrittelemätön
Mutta kun yritän tätä Chrome V8 -konsolissa, saan oikean tuloksen, jota odotan. En ole täysin varma, mitä täällä tapahtuu.
anna ba;
funktio Setqa () {
(asynkronointi () => {
odota hakua ('questions.json')
.si (res => res.json ())
.si sitten (asynkronointi (data) => {
ba = odota tietoja;
});
}) ();
}
Setqa ();
console.log (ba);
Json-tiedoston sisältö on seuraava:
"kysymykset": [{
"questionType": "useita",
"question": "Kuinka sää on",
"vastaa": "",
"kysymys Vastaus": ""
},
{
"questionType": "useita",
"question": "Kuinka voit tänään?",
"vastaukset": " 1",
"questionAnswer": "textPurpose1"
}
] 
Sen pitäisi toimia
anna ba;
funktio Setqa () {
palauta haku ('questions.json')
.si (res => res.json ())
.si sitten (asynkronointi (data) => {
ba = odota tietoja;
});
}
Setqa (). Sitten (() => konsoli.log (ba));
Mutta parempi lähestymistapa olisi
asynkronitoiminto setQa () {
const res = odota hakua ('questions.json');
paluu res. json ();
}
anna ba = odottaa setQa ();
|
Eikö vastausta etsit? Selaa muita kysymyksiä, jotka on merkitty koodilla javascript json fetch console.log tai esitä oma kysymyksesi.